/*! \mainpage The RtAudio Home Page

RtAudio is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows operating systems.  RtAudio significantly simplifies the process of interacting with computer audio hardware.  It was designed with the following objectives:

<UL>
  <LI>object-oriented C++ design</LI>
  <LI>simple, common API across all supported platforms</LI>
  <LI>only one source and one header file for easy inclusion in programming projects</LI>
  <LI>allow simultaneous multi-api support</LI>
  <LI>support dynamic connection of devices</LI>
  <LI>provide extensive audio device parameter control</LI>
  <LI>allow audio device capability probing</LI>
  <LI>automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping</LI>
</UL>

RtAudio incorporates the concept of audio streams, which represent audio output (playback) and/or input (recording).  Available audio devices and their capabilities can be enumerated and then specified when opening a stream.  Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance.  See the \ref apinotes section for information specific to each of the supported audio APIs.

\section whatsnew Latest Updates (Version 4.1.1)

Changes in this release include:

- updates to WASAPI API for MinGW compiling
- WASAPI bug fixes for audio INPUT mode (thanks to Marcus Tomlinson)
- DirectSound bug fix for INPUT mode
- Bug fixes in Core, Jack, ASIO and DS for internal draining in INPUT mode
- updates to test programs for default device specifiers
- CMake buildfile update for WASAPI
- new setStreamTime function

Changes in the previous 4.1.0 release included:

- RtError class renamed RtAudioError and embedded in RtAudio.h (RtError.h deleted)
- new support for the Windows WASAPI API (thanks to Marcus Tomlinson)
- CMake support (thanks to Berkus Decker)
- pulse audio update to support bufferFrames argument with audio input (thanks to Jonatan Wallmander)
- fixes for ALSA API to avoid high CPU usage during stops and to clear stale data before input (thanks to Pluto Hades)
- miscellaneous efficiency updates suggested by Martin Koegler
- bug fix for OS-X xrun reporting problem
- bug fix if error when opening a stream after closing a previously open stream

\section download Download

Latest Release (26 April 2014): <A href="http://www.music.mcgill.ca/~gary/rtaudio/release/rtaudio-4.1.1.tar.gz">Version 4.1.1</A>

\section documentation Documentation Links

-# \ref errors
-# \ref probe
-# \ref settings
-# \ref playback
-# \ref recording
-# \ref duplex
-# \ref multi
-# \ref compiling
-# \ref apinotes
-# \ref acknowledge
-# \ref license
-# <A href="http://github.com/thestk/rtaudio">RtAudio on GitHub</A>

*/

-# <A href="bugs.html">Bug Tracker (out of date)</A>
-# <A href="updates.html">Possible Updates (out of date)</A>
